小编Par*_*roX的帖子

什么是在程序中模仿-pi的实际Perl代码?

这似乎是多余的,从Perl脚本本身运行perl.

my $Pref = "&*())(*&^%$#@!"; 
system("perl -pi -e 's|^SERVERNAME.*\$|SERVERNAME \"\Q$Pref\E\"|g' pserver.prefs");
Run Code Online (Sandbox Code Playgroud)

什么是模拟-pi的实际Perl代码?我只想要一些像Perl上的sed一样的东西,尽可能简单.


基于Todd Gardner的网站,它似乎基本上只是读取和写入所有文件,试图将正则表达式应用于每一行.对于像我这样的noob Perl用户来说,解决方案有点复杂,所以我使用以下方法将其缩小:

my $ftp = "/home/shared/ftp";
my $backup = $ftp . ".bak";
rename($ftp, $backup);
open (FTP, "<", $backup) or die "Can't open $backup: $!"; 
open (FTP_OUT, ">", $ftp) or die "Can't open $ftp: $!"; 
    while (<FTP>)
    {
        $_ =~ s|$panel_user \Q$panel_oldpass\E |$panel_user \Q$panel_newpass\E |g;
        print FTP_OUT $_;
    }
close(FTP);
close(FTP_OUT);
Run Code Online (Sandbox Code Playgroud)

使用两个打开有什么问题吗?应该避免这种情况还是简单的解决方案?

我必须承认,系统sed命令更简单,更清晰.

regex perl sed

1
推荐指数
2
解决办法
348
查看次数

CSS内容之前和之后将字符附加到HREF?

我想将所有链接文本从average_link发送到[AVERAGE_LINK] ..这只能用CSS吗?

css

1
推荐指数
1
解决办法
4064
查看次数

C#:0&1排列

我想列出只有0和1的排列.类似于二进制但允许变量长度,不必等于8长度.例如:

0
1
00
01
10
11
000
001
010
011
100
101
110
111
Run Code Online (Sandbox Code Playgroud)

一直到X的长度都满足.如何才能做到这一点?

c# combinations permutation

1
推荐指数
1
解决办法
1159
查看次数

运行时错误,使我的.exe崩溃,我不知道为什么

我可以猜测它与使用unsigned long long int有关.

#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;

typedef unsigned long long int uint64;

int main(int argc, char *argv[])
{



    uint64 number_in_question = 600851475143LL;

    long double sqrt_in_question = sqrt(number_in_question);
    bool primes_array[number_in_question+1];



    for (uint64 i = 0; i <= number_in_question; i++) {
        primes_array[i] = true;
    }

    for (uint64 i = 2; i <= sqrt_in_question; i++) {
        if(primes_array[i] == true) {
            // for every multiple of this prime, mark it as not prime
            for (uint64 ii = …
Run Code Online (Sandbox Code Playgroud)

c++ runtime-error int64 uint64

1
推荐指数
1
解决办法
1202
查看次数

为什么我的解密功能不起作用?

这不是我写的; 它是由一个把它传给我的人写的.我与代码的作者失去了联系.我已经使用这段代码几年了,刚才意识到这个错误.似乎字母序列rkey1混淆了输出.

例如turkey1输出作为解密tur79y1.这个Perl代码应输出turkey1而不是tur79y1:

$String = "turkey1";
$e = &encode_escaped(&palace_encrypt($String));
$d = &palace_decrypt(&decode_escaped("'\"".$e."\"'"));
print $d."<br>\n";

KEY REMOVED BY OWNER


sub palace_decrypt
{
    local $lastchar = 0;
    local $rc = 0;
    local @bs;
    for($i=length($_[0])-1; $i>=0; $i--) {
        local $tmp = ord(substr($_[0], $i, 1));
        $bs[$i] = $tmp ^ $palace_key[$rc++] ^ $lastchar;
        $lastchar = $tmp ^ $palace_key[$rc++];
        }

    return join("", map { chr($_) } @bs);
}

sub decode_escaped
{
    $_[0] =~ m/\"(.*)\"/;
    local $str …
Run Code Online (Sandbox Code Playgroud)

encryption perl encode decode

0
推荐指数
1
解决办法
626
查看次数

PHP - 基于UID的CSV文件覆盖

我知道我知道,数据库对我想做的事情更好,但我不想要处理数据库和学习东西的麻烦.

我有一个类似于CSV的CSV

TestUser,2010/07/27 13:26:25,2010/07/27 13:26:29,0.0011,0.0006,0.06
TestUser,2010/07/27 14:22:12,2010/07/27 14:22:24,0.0033,0.0027,0.27
TestUser,2010/07/27 14:22:41,2010/07/27 14:22:53,0.0033,0.0028,0.28
TestUser,2010/07/27 14:25:26,2010/07/27 14:25:33,0.0019,0.0015,0.30
Run Code Online (Sandbox Code Playgroud)

第二列是我作为UID(唯一ID)使用的,因此它在CSV中永远不会相同.我用来写csv的PHP代码是:

$myFile = "data.csv";
$fh = fopen($myFile, 'a') or die("can't open file");

$stringData = $_POST["Name"].",".$_POST["DateStart"].",".$_POST["DateStop"].",".$_POST["TotalHours"].",".$_POST["Hours"].",".$_POST["Pay"]."\n";
fwrite($fh, $stringData);
fclose($fh);
Run Code Online (Sandbox Code Playgroud)

如果有一个具有相同DateStart(UID)的人运行PHP,它将需要做什么,它将覆盖具有相同UID的任何东西.基本上我认为它可能必须通过每行的文件数组,然后当它到达具有相同UID的行时,它将拦截POST的内容,而不是它有什么.

我不确定这是否是实现我想要的最佳方式.

php file

0
推荐指数
1
解决办法
262
查看次数

概述:编程代码指南和样式

我知道每种编程语言都有一定的指导和风格.我的问题是关于我编写代码的两种语言,这种语言不是很受欢迎或记录在案.

我知道这个话题非常广泛,每个人都有自己独特的做事方式.我想要的是听到某些风格的优点,缺点.

为了探索这个问题,假设您正在编写自己的编程语言,基于您过去的经验,最好的方法是什么?

请记住,可能会有基于特定语言的起伏,所以请考虑这种语言是否无关紧要.我仍然很喜欢编程,所以我想养成使代码可读且易于理解的最佳习惯.

有很多话题需要讨论,我可以通过基础知识运行:

全局变量
它们应该以_开头并全部大写吗?

局部变量
它们应该以_结尾并始终是小写的吗?

变量名称
如果我定义的是员工的小时工资,那么它应该是EmployeeHourlyWage,Employee_Hourly_Wage吗?

变量类型
如果你在名称中包含变量的类型,例如,如果我定义$ Hours并且它已经存储了一个整数,我应该将它命名为$ Hour_INT,以便我知道它何时引用它是什么类型?谁知道,我可能有$ Hours_FLOAT

Curly Brackets括号
是否应该与自己排列这样的词,或者什么?哪一项最好,首选,最具可读性?

IF ($Test) {
 //code
} ELSE {
 //code
}

IF ($Test)
{
 //code
} ELSE {
 //code
}

IF ($Test)
{
 //code
}
ELSE
{
 //code
}
Run Code Online (Sandbox Code Playgroud)

对齐
我不断排列变量和它们的值,所以我知道哪里去了哪里.这是不好的做法:

// Assuming GUI(TOP, LEFT, HEIGHT, WIDTH)

GUI( 23    , 44   , 245   , 2323    )
GUI( 232   , 4332 , 22    , 6576    )
GUI( 21    , 4    , 1 …
Run Code Online (Sandbox Code Playgroud)

c c# c++ java

0
推荐指数
1
解决办法
539
查看次数

CSS:50%透明(不透明度),边框实线

是否有可能只有CSS有白色背景颜色,然后有50%透明度:

.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; }

还有一个坚实的白色边框?

css css3

0
推荐指数
1
解决办法
9121
查看次数

PHP 5.3不兼容 - <?和<?php.怎么修?

可能重复:
<??>标签在php 5.3.1中不起作用

我正在运行Debian Lenny,"官方"PHP版本是5.2. - 但是,我遇到了许多现在需要PHP 5.3的东西.经过一些谷歌搜索,我找到了一个网站,以帮助我迫使debian lenny去5.3.

现在我知道很多事情会破坏5.3.对于我使用的大部分内容,我似乎没有这个问题.然而,我一直遇到的一个主要问题是我使用了启动php代码的简写方法: <?而不是<?php.这在PHP 5.2中从来都不是问题.因为它同时接受了.

但是,在dotdeb的PHP 5.3.5.0中,似乎需要php.我经历了全部<?替换<?php,然后全部<?phpphp替换<?php.这似乎已经解决了我对我的代码所遇到的任何问题,但是第三方代码中的快捷方式如<?=不起作用<?php=.我也不希望在我从这里使用的每个php文件上运行此替换.

我怎样才能获得php 5.3.允许快捷方式<?<?=被接受而不需要php?

php incompatibility php-5.3

0
推荐指数
1
解决办法
353
查看次数

编程逻辑 - 在线程之间拆分任务

假设你想要5个线程同时处理数据.还假设您有89个要处理的任务.

你知道89/5 = 17,其余的是4.分离任务的最好方法是让4个(余数)线程每个处理18(17 + 1)个任务,然后有1个(#个线程 - 其余)线程处理17.

这将消除余数.只是为了验证:

Thread 1: Tasks  1-18  (18 tasks)
Thread 2: Tasks 19-36  (18 tasks)
Thread 3: Tasks 37-54  (18 tasks)
Thread 4: Tasks 55-72  (18 tasks)
Thread 5: Tasks 73-89  (17 tasks)
Run Code Online (Sandbox Code Playgroud)

完成了总共89项任务.

我需要一种方法来获得每个线程的开始和结束范围数学/可编程性; 以下内容应该打印出我上面列出的确切内容:

$NumTasks = 89
$NumThreads = 5
$Remainder = $NumTasks % $NumThreads 
$DefaultNumTasksAssigned = floor($NumTasks / $NumThreads)

For $i = 1 To $NumThreads
    if $i <= $Remainder Then
        $NumTasksAssigned = $DefaultNumTasksAssigned + 1
    else
        $NumTasksAssigned = $DefaultNumTasksAssigned
    endif
    $Start …
Run Code Online (Sandbox Code Playgroud)

language-agnostic math programming-languages multiprocessing

0
推荐指数
1
解决办法
277
查看次数

NULL终止了c_str()?

为什么使用is_it_valid_color("yellow")工作和输出FOUND IT但使用is_it_valid_color(x.c_str());不起作用?

我有一种感觉它与null终止字符串有关.控制台中的输出看起来相同:

color: 'yellow'
FOUND IT
color: 'yellow'
Run Code Online (Sandbox Code Playgroud)

.

const char *color_names[] = {"yellow", "green", "red"};
const int color_names_SIZE = 3;

void is_it_valid_color(const char* color) {
    cout << "color: '" << color << "'" << endl;

    for(int i = 0; i < color_names_SIZE; ++i) {
        if(color == *(color_names + i)) {   
            cout << "FOUND IT" << endl;
            break;
        }
    }
}



is_it_valid_color("yellow");


string x = "yellow";

is_it_valid_color(x.c_str());
Run Code Online (Sandbox Code Playgroud)

c++ string c-strings null-terminated

0
推荐指数
1
解决办法
237
查看次数