代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Perl
】
生成搜索query
作者:
汶纡
/ 发布于
2014/11/18
/
979
#!/usr/bin/perl -w use strict; #==声明变量============================================================ my $fieldList; #字段列表 my $queryFile; #query文件 my $field; #字段变量 my @arr; my $arr; my $index; my $queryStr = ""; my $queryCount; my $l = 1; my $area; #==逻辑处理=========================================================== if(@ARGV < 3) { print "Execute error!\n"; print "Usage: ./queryGen.pl fieldList queryCount\n"; exit(1); } else { $fieldList = $ARGV[1]; $queryCount = $ARGV[2]; $area = $ARGV[0]; $queryFile = "$fieldList.query"; open(FILEOUT, ">>$queryFile") || die "can't creat the file:$!\n"; while($l <= $queryCount) { open(FILEIN, "<$fieldList" ) || die "can't open the file:$!\n"; while($field = <FILEIN>) { chomp($field); @arr = split(/:/, $field); if($arr[1] eq 'v') { $queryStr = $queryStr."&$arr[0]=$arr[2]"; } elsif($arr[1] eq 'a') { my @valarr = split(/,/, $arr[2]); my $val = &getRandItem(@valarr); $queryStr = $queryStr."&$arr[0]=$val"; } elsif($arr[1] eq 'f') { my $fileLineNum = &countFileLine($arr[2]); #chomp($fileLineNum); #print "The line number is $fileLineNum\n"; my $fileLine = int(rand($fileLineNum)) + 1; chomp($fileLine); #print "The rand line is $fileLine\n"; my $fileItem = `sed -n '$fileLine''p' $arr[2]`; chomp($fileItem); #print "File item is $fileItem\n"; $queryStr = $queryStr."&$arr[0]=$fileItem"; } } $queryStr = substr($queryStr, 1); print FILEOUT "bin/search?$area?$queryStr"; $queryStr = ""; close(FILEIN); $l++; print FILEOUT "\n"; } close(FILEOUT); } #====================================================== sub countFileLine { my $line = 0; my($path) = @_; open(FD, $path); while(<FD>) { $line++; } return $line; } #生成不定长度的随机数 sub getRandNum { my $maxLenth; my @a; my @c; my $count; my $password; #随机串的内容 @c=(1..2); #生成随机串 $count = join '', map { $c[int rand @c] } 0..(0); #0..(0)限制随机串的长度 #第一个随机串作为下一个随机串的长度 $maxLenth=$count; #第二个随机串的内容 @a=(1..9); #生成最终的随机串 $password = join '', map { $a[int rand @a] } 0..($maxLenth-1); #返回字串 return $password; } #从数组中随机取字符或字串 sub getRandStr { #字串的内容 my @a = ("Y","N"); #字串的随机位置 my @c = (0..1); my $i = join '', map { $c[int rand @c] } 0..(0); #根据随机位置取随机字符 return $a[$i]; } #从任意数组中随机取item sub getRandItem { my @array = @_; my $count = scalar(@array) - 1; #my $i = join '', map { $c[int rand @c] } 0..(0); my $r = int(rand($count)); return $array[$r]; }
试试其它关键字
搜索
同语言下
.
获取本机所有IP和设备的绑定情况
.
生成隨機密碼
.
取文件的最后修改时间
.
获取本机所有IP和设备的绑定情况
.
将perl脚本变成乱糟糟的一团
.
从 HTML网页中解析出链接
.
使用 HTTP::Request 请求 URL 并将响应保存到文件
.
使用指定的User-Agent抓取网页
.
使用 Net::SMTP发送邮件
.
编写的一个简单 Web服务器
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
汶纡
贡献的其它代码
(
55
)
.
手机类型判断
.
sql 节假日判断(春节、中秋、国庆、周末等)
.
使用LEFT OUTER JOIN 实现not in 子句
.
获取图片宽度高度、大小尺寸、图片类型、用于布局的im
.
简单的大视频截取播放功能
.
如何通過ID號來刪除DataTable中的行
.
检测远程URL是否存在
.
阻止html页面加载
.
sql生成九九乘法表
.
oracle存储遍历表中数据
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3