读取自定义配置文件

简介:
  1. 配置文件样例


# more test.conf 

### Database Configration ####

host = 10.8.9.20;

dbname = webdb ;

user = admin ;

pwd = admin;




2.测试程序内容


#!/usr/bin/perl

use strict;

our($host, $dbname, $user, $password);

my $prog_root="/usr/test_prog";

my $prog_conf = $prog_root."/test.conf";


open my $conf_file,"<",$prog_conf;

my @conf_items = <$conf_file>;

close($conf_file);


foreach my $line(@conf_items){

   #### read each line from configration file

   $host = $1 if ($line =~/host\s*=\s*(\S+)\s*;/i);

   $dbname=$1 if ($line =~/dbname\s*=\s*(\S+)\s*;/i);

   $user=$1 if ($line =~/user\s*=\s*(\S+)\s*;/i);

   $password=$1 if ($line =~/pwd\s*=\s*(\S+)\s*;/i);


}

print "$host\n";

print "$dbname\n";

print "$user\n";

print "$password\n";


3.运行输出结果


# perl conf.pl 

10.8.9.20

webdb

admin

admin



本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/1596282


相关文章
|
Windows
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
不用 “netsh winsock reset” 命令解决 “在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配”
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
|
缓存 Java API
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
|
JavaScript Windows 容器
Flutter Web:根据浏览器窗口改变布局大小
之前我们通过flutter开发web应用,然后用electron打包成可执行文件在pc端使用,因为electron可以设置最小宽高,所以布局不会越界,但是如果直接在浏览器中打开,因为浏览器的大小无法控制,如果用户缩小浏览器会导致布局越界。根据大部分网站的经验来看,当窗口缩小到一定程度后,布局就不会再改变,反而是增加了滚动,这样就保证了布局的正确性,所以我们也打算这么做。
1853 0
|
存储 网络安全 数据处理
阿里云对象存储OSS计费模式按量付费和包年包月选择攻略
阿里云OSS对象存储计费模式分为按量付费和包年包月,默认开通OSS就是按量付费,购买资源包抵扣OSS费用的方式属于包年包月计费模式
3892 0
阿里云对象存储OSS计费模式按量付费和包年包月选择攻略
|
10月前
|
人工智能 JavaScript 开发工具
极速上手!Claude Code 原生支持 Windows 免WSL安装教程
Claude Code 现已支持 Windows 原生运行,无需 WSL 配置。本文提供详细安装教程,涵盖 Node.js 环境验证、Git 安装及 Claude Code 配置步骤,助你快速上手这一强大 AI 编程工具。
13060 13
|
6月前
|
存储 Linux 异构计算
使用阿里云GPU服务器部署DeepSeek满血版模型——2026年最新教程
本文介绍如何在阿里云ebmgn8v GPU实例上,使用SGLang部署671B参数的开源MoE模型DeepSeek-V3/R1,实现开箱即用的高效推理服务,涵盖环境配置、模型下载与推理测试全流程。
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于YOLOv8+pyqt5的pcb缺陷检测系统
针对电子制造中PCB缺陷检测难题,本研究提出基于YOLOv8与PyQt5的智能检测系统。融合深度学习高精度识别与图形界面友好交互,实现短路、断路等微小缺陷的高效、自动化检测,提升检测精度与效率,降低企业成本,推动电子制造向智能化、低成本化发展。
|
人工智能 自然语言处理 API
Oliva:语音RAG革命!开源多智能体秒解复杂搜索,实时对讲颠覆传统
Oliva是一款基于Langchain和Superlinked的开源语音RAG助手,通过实时语音交互在Qdrant向量数据库中进行语义搜索,支持多智能体协作处理复杂查询任务。
947 4
Oliva:语音RAG革命!开源多智能体秒解复杂搜索,实时对讲颠覆传统
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
SQL 关系型数据库 MySQL
SQLAlchemy使用指南
**SQLAlchemy 指南**:Python SQL 工具包,提供数据库高级抽象。安装:`pip install sqlalchemy`,加上数据库驱动(如 MySQL: `pip install mysql-connector-python`)。基础使用包括:创建数据库连接、定义模型、创建表、添加/查询/更新/删除数据。高级功能涉及关系映射、原生 SQL 语句及 SQLAlchemy Core。推荐阅读官方文档以深入了解。
1545 1